'use strict';

var mongoose = require('mongoose'),
    Schema = mongoose.Schema,
    baseController = require('../../../Base/server/controllers/BaseDoc.js');

//系统参数
var newModel = baseController.getBaseDocFields();
newModel.Code = {
    type: String,
    unique: '编码已存在',
    required: "编码不能为空"
};
newModel.Name = {
    type: String,
    required: '请输入名称',
    trim: true
};
newModel.Value = {
    type: String
};
//是否显示
newModel.IsDisplay = {
    type: Boolean
};
//字段类型
newModel.Type = {
    type: Number
};
//备注
newModel.Remark = {
    type: String
};
//枚举编码，下拉控件使用
newModel.EnumCode = {
    type: String
};
//日期类型，日期类型使用
newModel.CalendarType = {
    type: Number
};
//实体ID，参照使用
newModel.Key = {
    type: String
};
//显示值，参照使用
newModel.Text = {
    type: String
};
//绑定Key，参照使用
newModel.KeyField = {
    type: String
};
//绑定Value，参照使用
newModel.CodeField = {
    type: String
};
//绑定显示值，参照使用
newModel.TextField = {
    type: String
};
//实体名称，参照使用
newModel.EntityName = {
    type: String
};
//参照弹出框口的显示标题，参照使用
newModel.WindowTitle = {
    type: String
};
//查询条件，参照使用
newModel.Condition = {
    type: String
};
//排序条件，参照使用
newModel.OrderBy = {
    type: String
};
//关联条件，参照使用
newModel.Populate = {
    type: String
};
//显示列集合，参照使用
//[{FiledName: 'Parent.Name',DiplayName: '主菜单',Width: '100px'}]
newModel.DisplayColumns = {
    type: String
};

var newSchema = new Schema(newModel);
newSchema.index({Code: 1}, {"unique": true});

mongoose.model('Parameter', newSchema, 'Parameter');
